Ext.ns("Mcflies", "Mcflies.Office", "Mcflies.Util", "Mcflies.Office.Department");
Mcflies.Office.LeftMenu = function(config){
	//add by mcflies_jun 以下这段代码为常用配置 Start
	//通过function的call方法来改变Panel类的作用域为当前类的作用域
	//同时把配置项传给Panel类,继承Ext.panel类中的构建函数功能
	
	//默认设置
	var defaultSet = Ext.apply({
		width : 200,
		split : true,
		region : 'west',
		collapseMode : 'mini',
		defaults : {
			border : false
		},
		layoutConfig : {
			animate : true//动画方式的accordion
		}
	},config || {});
	//采用accordion,这两个是菜单组件的核心,不能进行配置
	config = Ext.apply(defaultSet,{
		layout : 'accordion',
		collapsible : true
	});
	
	Mcflies.Office.LeftMenu.superclass.constructor.call(this , config);
	//add by mcflies_jun 以下这段代码为常用配置 Start
	
	//以下为实现类的功能
	
	for(var i = 0;i < this.trees.length;i++){
		this.add({title : this.trees[i].getRootNode().text,items : [this.trees[i]]});
	}
	
	this.addEvents("nodeClick");//注册点击事件名
	this.initTreeEvent();//运行事件监听函数
}

//让Mcflies.Office.LeftMenu集成Ext.Panel所有的方法
Ext.extend(Mcflies.Office.LeftMenu , Ext.Panel ,{
	//Mcflies.Office.LeftMenu自己定义的方法
	initTreeEvent : function(){
		if(! this.items){
			return;
		}
		
		for(var i = 0;i < this.items.length;i++){//迭代菜单导航中的每个组建
			var p = this.items.itemAt(i);//获取每个子组件
			if(p){
				var t = p.items.itemAt(0);//每个树
			}
			if(t){
				t.on({
					'click' : function(node,event){
						if(node && node.isLeaf()){
							event.stopEvent();
							this.fireEvent('nodeClick',node.attributes);
						}
					},
					scope : this
				});
			}
		}
	}
});